home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Tools / Languages / MacOberonLite 1.0.1 / Sys Files / MacFiles.Mod (.txt) < prev    next >
Encoding:
Oberon Text  |  1993-06-27  |  5.9 KB  |  119 lines  |  [.Ob./.Ob4]

  1. Syntax10.Scn.Fnt
  2. Syntax10b.Scn.Fnt
  3. MODULE MacFiles;
  4. (* This Module contains all essentiel constants, datatypes and routines from the NEW Inside Macintosh
  5.             Files
  6.     However this implementation is NOT complete. If use miss some items, please use Inside Mac
  7.     and complete this module for your needs.
  8.     See the documentation ( MakeMacApp.Doc ) for more information about the usage of this module.  *)
  9. IMPORT SYSTEM,ME:=MacMemory,IM:=MacImaging,TB:=MacToolbox;
  10.     FSSpecPtr* = POINTER- TO FSSpec;
  11.     FSSpec* = RECORD
  12.         vRefNum*: INTEGER;
  13.         parID*: LONGINT;
  14.         name*: ARRAY 64 OF CHAR    (* Attention : Pascal String! Length in char 0 *)
  15.     END;
  16.     FInfo* = RECORD
  17.         fdType*: LONGINT;
  18.         fdCreator*: LONGINT;
  19.         fdFlags*: INTEGER;
  20.         fdLocation*: IM.Point;
  21.         fdFldr*: INTEGER
  22.     END;
  23.     (* Standard File Package *)
  24.     StandardFileReply* = RECORD
  25.         sfGood*: BOOLEAN;
  26.         sfReplacing*: BOOLEAN;
  27.         sfType*: LONGINT;
  28.         sfFile*: FSSpec;
  29.         sfScript*: INTEGER;
  30.         sfFlags*: INTEGER;
  31.         sfIsFolder*: BOOLEAN;
  32.         sfIsVolume*: BOOLEAN;
  33.         sfReserved1: LONGINT;
  34.         sfReserved2: INTEGER
  35.      END;
  36.     SFTypeList* = ARRAY 4 OF LONGINT;
  37. (* Register-based traps *)
  38.     PROCEDURE- Open*    0A0H, 000H;
  39.     PROCEDURE- Close*    0A0H, 001H;
  40.     PROCEDURE- Read*    0A0H, 002H;
  41.     PROCEDURE- Write*    0A0H, 003H;
  42.     PROCEDURE- Control*    0A0H, 004H;
  43.     PROCEDURE- Status*    0A0H, 005H;
  44.     PROCEDURE- KillIO*    0A0H, 006H;
  45.     PROCEDURE- GetVolInfo*    0A0H, 007H;
  46.     PROCEDURE- Create*    0A0H, 008H;
  47.     PROCEDURE- Delete*    0A0H, 009H;
  48.     PROCEDURE- OpenRF*    0A0H, 00AH;
  49.     PROCEDURE- Rename*    0A0H, 00BH;
  50.     PROCEDURE- GetFileInfo*    0A0H, 00CH;
  51.     PROCEDURE- SetFileInfo*    0A0H, 00DH;
  52.     PROCEDURE- UnmountVol*    0A0H, 00EH;
  53.     PROCEDURE- MountVol*    0A0H, 00FH;
  54.     PROCEDURE- Allocate*    0A0H, 010H;
  55.     PROCEDURE- FlushVol*    0A0H, 013H;
  56.     PROCEDURE- GetVol*    0A0H, 014H;
  57.     PROCEDURE- SetVol*    0A0H, 015H;
  58.     PROCEDURE- FInitQueue*    0A0H, 016H;
  59.     PROCEDURE- Eject*    0A0H, 017H;
  60. (* New FSp Traps *)
  61.     PROCEDURE- FSMakeFSSpec*(vRefNum: INTEGER;dirID: LONGINT;fileName: ME.Str255;VAR spec: FSSpec) : INTEGER
  62.         030H,03CH,000H,001H,0AAH,052H;
  63.     PROCEDURE- FSpOpenDF*(spec: FSSpec;permission: SHORTINT;VAR refNum: INTEGER): INTEGER
  64.         030H,03CH,000H,002H,0AAH,052H;
  65.     PROCEDURE- FSpOpenRF*(spec: FSSpec ;permission: SHORTINT;VAR refNum: INTEGER): INTEGER
  66.         030H,03CH,000H,003H,0AAH,052H;
  67.     PROCEDURE- FSpCreate*(spec: FSSpec ;creator: LONGINT;fileType: LONGINT;scriptTag: INTEGER): INTEGER
  68.         030H,03CH,000H,004H,0AAH,052H;
  69.     PROCEDURE- FSpDirCreate*(spec: FSSpec;scriptTag: INTEGER;VAR createdDirID: LONGINT): INTEGER
  70.         030H,03CH,000H,005H,0AAH,052H;
  71.     PROCEDURE- FSpDelete*(spec: FSSpec): INTEGER    030H,03CH,000H,006H,0AAH,052H;
  72.     PROCEDURE- FSpGetFInfo*(spec: FSSpec;VAR fndrInfo: FInfo): INTEGER    030H,03CH,000H,007H,0AAH,052H;
  73.     PROCEDURE- FSpSetFInfo*(spec: FSSpec;fndrInfo: FInfo): INTEGER    030H,03CH,000H,008H,0AAH,052H;
  74.     PROCEDURE- FSpSetFLock*(spec: FSSpec): INTEGER    030H,03CH,000H,009H,0AAH,052H;
  75.     PROCEDURE- FSpRstFLock*(spec: FSSpec): INTEGER    030H,03CH,000H,00AH,0AAH,052H;
  76.     PROCEDURE- FSpRename*(spec: FSSpec;newName: ME.Str255): INTEGER    030H,03CH,000H,00BH,0AAH,052H;
  77.     PROCEDURE- FSpCatMove*(source: FSSpec;dest: FSSpec): INTEGER    030H,03CH,000H,00CH,0AAH,052H;
  78.     PROCEDURE- FSpExchangeFiles*(source: FSSpec;dest: FSSpec): INTEGER    030H,03CH,000H,00FH,0AAH,052H;
  79. (* Standard File Package *)
  80.     PROCEDURE- StandardPutFile*(prompt: ME.Str255;defaultName: ME.Str255;VAR reply: StandardFileReply)
  81.         03FH,03CH,000H,005H,0A9H,0EAH;
  82.     PROCEDURE- StandardGetFile*(fileFilter: PROCEDURE;numTypes: INTEGER;typeList: SFTypeList;VAR reply: StandardFileReply)
  83.         03FH,03CH,000H,006H,0A9H,0EAH;
  84.     PROCEDURE- CustomGetFile*(fileFilter : PROCEDURE;
  85.         numType : INTEGER;typeList : SFTypeList;VAR reply : StandardFileReply;
  86.         dlgID : INTEGER;where : IM.Point;dlgHook : PROCEDURE;
  87.         filterProc : PROCEDURE;activeList : LONGINT;
  88.         activateProc : PROCEDURE;yourDataPtr : LONGINT)    03FH,03CH,000H,008H,0A9H,0EAH;
  89. (* Essential File routines using standard Oberon interface *)
  90.     PROCEDURE - FSClose* (refNum: INTEGER): INTEGER
  91.         04EH, 056H, 0FFH, 0CEH,041H, 0EEH, 0FFH, 0CEH,031H, 06EH, 000H, 004H, 000H, 018H,
  92.         0A0H, 001H, 04EH, 05EH,054H, 08FH, 03EH, 080H;
  93.     PROCEDURE - FSRead* (refNum: INTEGER; VAR count: LONGINT; buffPtr: ME.Ptr): INTEGER
  94.         04EH, 056H, 0FFH, 0CEH,041H, 0EEH, 0FFH, 0CEH,021H, 06EH, 000H, 004H, 000H, 020H,
  95.         031H, 06EH, 000H, 00CH, 000H, 018H,022H, 06EH, 000H, 008H, 021H, 051H, 000H, 024H,
  96.         042H, 068H, 000H, 02CH, 042H, 0A8H, 000H, 02EH,0A0H, 002H, 022H, 06EH, 000H, 008H, 
  97.         022H, 0A8H, 000H, 028H,04EH, 05EH,0DEH, 0FCH, 000H, 00AH,03EH, 080H;
  98.     PROCEDURE - FSWrite* (refNum: INTEGER; VAR count: LONGINT; buffPtr: ME.Ptr): INTEGER
  99.         04EH, 056H, 0FFH, 0CEH,041H, 0EEH, 0FFH, 0CEH,021H, 06EH, 000H, 004H, 000H, 020H,
  100.         031H, 06EH, 000H, 00CH, 000H, 018H,022H, 06EH, 000H, 008H,021H, 051H, 000H, 024H,
  101.         042H, 068H, 000H, 02CH,042H, 0A8H, 000H, 02EH,0A0H, 003H,022H, 06EH, 000H, 008H,
  102.         022H, 0A8H, 000H, 028H,04EH, 05EH, 0DEH, 0FCH, 000H, 00AH,03EH, 080H;
  103.     PROCEDURE - SetEOF* (refNum: INTEGER; logEOF: LONGINT): INTEGER
  104.         04EH, 056H, 0FFH, 0CEH,041H, 0EEH, 0FFH, 0CEH,031H, 06EH, 000H, 008H, 000H, 018H,
  105.         021H, 06EH, 000H, 004H, 000H, 01CH,0A0H, 012H,04EH, 05EH,05CH, 08FH,
  106.         03EH, 080H;
  107.     PROCEDURE - GetFPos* (refNum: INTEGER; VAR filePos: LONGINT): INTEGER
  108.         04EH, 056H, 0FFH, 0CEH,041H, 0EEH, 0FFH, 0CEH,031H, 06EH, 000H, 008H, 000H, 018H,
  109.         0A0H, 018H,022H, 06EH, 000H, 004H,022H, 0A8H, 000H, 02EH,04EH, 05EH, 
  110.         05CH, 08FH,03EH, 080H;
  111.     PROCEDURE - SetFPos* (refNum, posMode: INTEGER; posOff: LONGINT): INTEGER
  112.         04EH, 056H, 0FFH, 0CEH,041H, 0EEH, 0FFH, 0CEH,031H, 06EH, 000H, 00AH, 000H, 018H,
  113.         031H, 06EH, 000H, 008H, 000H, 02CH,021H, 06EH, 000H, 004H, 000H, 02EH,0A0H, 044H,
  114.         04EH, 05EH,050H, 08FH,03EH, 080H;
  115.     PROCEDURE- GetEOF*(refNum: INTEGER; VAR logEOF: LONGINT): INTEGER
  116.         04EH, 056H, 0FFH, 0CEH,041H, 0EEH, 0FFH, 0CEH,031H, 06EH, 000H, 008H, 000H, 018H, 
  117.         0A0H, 011H,022H, 06EH, 000H, 004H,022H, 0A8H, 000H, 01CH,04EH, 05EH,05CH, 08FH,03EH, 080H;
  118. END MacFiles.
  119.